﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GestionBudget.Objects;
using GestionBudget.Controls;

namespace GestionBudget
{
    public partial class FormConnexion : Form
    {
        private ucConnexion controlConnexion = new ucConnexion();
        private ucNouvelUtilisateur controlNouvelUtilisateur = new ucNouvelUtilisateur();
        private ControlObject ucCourant;

        public FormConnexion()
        {
            InitializeComponent();

            this.Controls.Add(controlConnexion);
            this.Controls.Add(controlNouvelUtilisateur);
        }

        private void FormConnexion_Load(object sender, EventArgs e)
        {
            if (DictionnaireDonnees.ListeDevises.Count == 0)
            {
                Devise devise = Devise.Creer("CAN", "$", 1m);
                devise.AttribuerIdentifiant();
                devise.Sauvegarder();

                devise = Devise.Creer("US", "$", 0.9703m);
                devise.AttribuerIdentifiant();
                devise.Sauvegarder();

                devise = Devise.Creer("EURO", "€", 0.7143m);
                devise.AttribuerIdentifiant();
                devise.Sauvegarder();
            }

            if (DictionnaireDonnees.ListeProfils.Count(pr => pr.Prenom == "Administrateur" && pr.Nom == "Administrateur") == 0)
            {
                Profil pr1 = Profil.Creer();
                pr1.Nom = "Administrateur";
                pr1.Prenom = "Administrateur";
                pr1.Devise = DictionnaireDonnees.ListeDevises.First();
                pr1.Sauvegarder();
            }
            ucCourant = controlConnexion;
            ChangeInterfaceConnexion(false);
        }

        private void lbllkNouvelUtilisateur_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            ChangeInterfaceConnexion(true);
        }

        public void ChangeInterfaceConnexion(bool NouvelUtilisateur)
        {
            ucCourant.Visible = false;
            
            if (NouvelUtilisateur)
            {
                ucCourant = controlNouvelUtilisateur;
            }
            else
            {
                ucCourant = controlConnexion;
            }
            ucCourant.Visible = true;
        }
    }
}
